#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<vector>
#include<queue>
#include<functional>
//#include<bits/stdc++.h>
using namespace std;
//int main()
//{
//    int n;
//    cin >> n;
//    string s;
//    while (n--)
//    {
//        cin >> s;
//        bool flag = true;
//        int curSize = 0, sortedSize = 1, unsortedSize = INT_MAX;
//        for (auto& e : s)
//        {
//            if (e == '+') curSize++;
//            else if (e == '-') {
//                curSize--;
//                if (curSize < unsortedSize)
//                    unsortedSize = INT_MAX;
//                if (curSize < sortedSize)
//                    sortedSize = max(curSize, 1);
//            }
//            else if (e == '0') {
//                if (curSize <= sortedSize) {
//                    cout << "NO" << endl;
//                    flag = false;
//                    break;
//                }
//                unsortedSize = min(unsortedSize, curSize);
//            }
//            else {
//                if (curSize >= unsortedSize) {
//                    cout << "NO" << endl;
//                    flag = false;
//                    break;
//                }
//                sortedSize = max(curSize, 1);
//            }
//        }
//        if (flag)
//            cout << "YES" << endl;
//    }
//    return 0;
//}


//#include<bits/stdc++.h>
using namespace std;
int n, m, T, u[5001], v[5001], t[5001], ans, dist[5001][5001], p[5001][5001];
void print(int a, int b)
{
	if (a == 0) return;
	if (p[a][b]) print(a - 1, p[a][b]);
	cout << b << " ";
}
int main()
{
	cin >> n >> m >> T;
	for (int i = 0; i < m; i++) cin >> u[i] >> v[i] >> t[i];
	for (int i = 0; i <= 5000; i++) for (int j = 0; j <= 5000; j++) dist[i][j] = T + 1;
	dist[1][1] = 0;
	for (int i = 2; i <= n; i++)
	{
		for (int j = 0; j < m; j++)
			if (dist[i - 1][u[j]] + t[j] < dist[i][v[j]])
			{
				dist[i][v[j]] = dist[i - 1][u[j]] + t[j];
				p[i][v[j]] = u[j];
			}
		if (dist[i][n] <= T) ans = i;
	}
	cout << ans << endl;
	print(ans, n);
	return 0;
}
